package 日记本;

// 1.任务描述
//编写一个日记本功能的程序，使用字节流经日记的具体信息记录在本地的txt文件中。
// 当用户输入日记的特定内容后，会将输入的内容保存至本地的txt文件中。
// 需要输入的内容包括“姓名”，“天气”、“标题”、“内容”的数据。
// 保存的时候需要判断本地是否存在文件，如果存在则追加，不存在则新建。
// 文件命名格式为“黑马日记本”加上“.txt”后缀，如“黑马日记本.txt”

import java.io.*;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardOpenOption;
import java.util.Scanner;



public class Main {
    private static void saveDiaryToFile(String diaryContent) throws IOException {
        String filename = "日记本.txt";
        File file = new File(filename);

        //把内容存入文件
        FileOutputStream fileOutputStream = new FileOutputStream(filename,true);
        byte[] b = diaryContent.getBytes();
        for (int i = 0; i < b.length; i++)
        {
            fileOutputStream.write(b[i]);
        }
        fileOutputStream.close();
    }
    public static void main(String[] args) throws IOException {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入姓名：");
        String name = sc.nextLine();

        System.out.print("请输入天气：");
        String weather = sc.nextLine();

        System.out.print("请输入标题：");
        String title = sc.nextLine();

        System.out.println("请输入内容：");//以end结束
        StringBuilder content = new StringBuilder();
        String line;
        while (!(line = sc.nextLine()).equals("end")) {
            content.append(line).append("\n");
        }

        //创建一个日记类，将内容存入
        DiaryContent diary = new DiaryContent(name, weather, title, content.toString());
        StringBuilder test = new StringBuilder();
        test.append("姓名：").append(diary.getName()).append("\n");
        test.append("时间：").append(diary.getTime()).append("\n");
        test.append("天气：").append(diary.getWeather()).append("\n");
        test.append("标题：").append(diary.getTitle()).append("\n");
        test.append("内容：").append(diary.getContent()).append("\n");

        saveDiaryToFile(test.toString());
        System.out.println("保存成功");
    }
}
